/*====================================================================================================*/
/*====================================================================================================*/
#include "module_sf595.h"
/*====================================================================================================*/
/*====================================================================================================*/
/* Arduino Uno Board define */
const byte LED = 13;
/*====================================================================================================*/
/*====================================================================================================*/
void setup ()
{
  pinMode(LED, OUTPUT);
  digitalWrite(LED, LOW);

  SF595_Init();
  SF595_SendByte(0xFF); // Clear
}
/*====================================================================================================*/
/*====================================================================================================*/
void loop ()
{
  static byte Count = 0;
  static byte State = 0;

  digitalWrite(LED, HIGH);
  delay(100);
  digitalWrite(LED, LOW);
  delay(100);

  Count++;

  switch (State) {

      case 0:
        if (Count == 8) {
          SF595_Shift(0);
          State = 1;
        }
        else {
          SF595_Shift(0);
        }
        break;

      case 1:
        if (Count == 16) {
          SF595_Shift(1);
          State = 2;
        }
        else {
          SF595_Shift(1);
        }
        break;

      case 2:
        for(; State>0; State--) {
          SF595_SendByte(0x00);
          delay(200);
          SF595_SendByte(0xFF);
          delay(200);
        }
        Count = 0;
        break;
  }
}
/*====================================================================================================*/
/*====================================================================================================*/
